package com.fowo.api.model.nav.after.sell.order.detail;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单管理售后工单售后信息 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class NavAfterSellOrderDetailImportPo {

  /** 平台单号 */
  @ExcelProperty("平台单号")
  @Size(max = 50, message = "平台单号长度不能超过50")
  private String platformOrderId;

  /** 所属订单管理售后工单 */
  @ExcelProperty("所属订单管理售后工单")
  private String parentNavAfterSellOrderAfterId;

  @ExcelIgnore
  @Schema(title = "所属订单管理售后工单")
  private String parentNavAfterSellOrder;

  /** 订单管理产品编号 */
  @ExcelProperty("订单管理产品编号")
  @LongString(
    message = "订单管理产品编号数值格式不正确",
    label = "订单管理产品编号",
    min = 0L
  )
  private String navSellOrderDetailId;

  /** 产品 */
  @ExcelProperty("产品")
  @Size(max = 500, message = "产品长度不能超过500")
  private String productIdName;

  @ExcelIgnore
  @Schema(title = "产品")
  private String productId;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 50, message = "品名长度不能超过50")
  private String productName;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String msku;

  /** 单价 */
  @ExcelProperty("单价")
  @DecimalString(message = "单价小数格式不正确", label = "单价")
  private String price;

  /** 订购数量 */
  @ExcelProperty("订购数量")
  @IntegerString(
    message = "订购数量数值格式不正确",
    label = "订购数量",
    min = 0
  )
  private String quantity;

  /** 售后数量 */
  @ExcelProperty("售后数量")
  @IntegerString(
    message = "售后数量数值格式不正确",
    label = "售后数量",
    min = 0
  )
  private String afterQuantity;

  /** 商品金额 */
  @ExcelProperty("商品金额")
  @DecimalString(message = "商品金额小数格式不正确", label = "商品金额")
  private String amount;

  /** 售后说明 */
  @ExcelProperty("售后说明")
  @Size(max = 50, message = "售后说明长度不能超过50")
  private String afterRemark;

  /** 商品备注 */
  @ExcelProperty("商品备注")
  @Size(max = 50, message = "商品备注长度不能超过50")
  private String remark;

  /** 已退款 */
  @ExcelProperty("已退款")
  @DecimalString(message = "已退款小数格式不正确", label = "已退款")
  private String refundAmount;

  /** 本次退款 */
  @ExcelProperty("本次退款")
  @DecimalString(message = "本次退款小数格式不正确", label = "本次退款")
  private String thisAmount;
}
